export default {
  namespaced: true,//防止与其他模块命名冲突


  //全局的状态初始化  
  state: {
    count: 1,
  },
  //计算属性，依赖于state，state是只读的，不能修改，只能通过mutations修改
  getters: {
    countStatus(state) {//计算属性，依赖于state，state是只读的，不能修改，只能通过mutations修改,这里的state就是上面定义的state,countStatus就是计算属性的名字
      return state.count <= 1//小于1返回true，小于等于1返回false
    }
  },
  //更新全局状态的同步方法，唯一修改state的方法
  mutations: {
    setConunt(state, num) {//setConunt是mutation的名字，state是状态，num是传递的参数
      state.count = num//修改state的count属性
    }
  },
  //更新全局状态的异步方法，可以包含异步操作，也可以包含提交mutations,commit方法的调用
  actions: {
    setCountPromise(context, num) {//setCountPromise是action的名字，context是上下文，包含state和commit方法,num是传递的参数
      return new Promise((resolve, reject) => {//异步操作
        if (num > 100) {
          reject('不能超过100') //调用失败的回调
        } else {
          context.commit('setConunt', num)//调用mutations里面的方法
          resolve('设置成功')//调用成功的回调
        }
      })
    }
  },
}